home *** CD-ROM | disk | FTP | other *** search
- /*üüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüü
- /*üüüüüüüü 'éséëéìü|éoéüéÉéàéÆ'ü@éaéÖü@éséüéïéàéìéëüEéìéüéöéôéòéìéÅéöéÅ üüüüüüüü
- /*üüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüü
- /*üüüüüüüü ò╧ÉöÆΦï`
- dim int ban(65535),cod(1000),gt(7),mem(119)
- dim char gg(7),fg(9),fc(9)
- /*----------- âVâXâeâÇ
- str cs[2],kwa[96],pus[96],fname[255]
- int tit,wri,sel,kem,ovr,pic,csr,scr,fra
- int nl,no,ns ,nsb
- char nc,nk,nf,ng,nr,vy,vn,gm,bs,kb,np,bc,cn,ct,cy,nvb,hzb,pnb,nkb,ncb,vnb,vyb
- dim int pc(9),vo(9),pa(9),fl(9)
- /*----------- éoébélè╓îW
- char nv,hz,pn,nh
- dim int pcm0(40959),voi0(5119),pad(9),vod(9)
- dim char samp(16383)
- /*----------- ò╢ÄÜù±Åêù¥
- str s0[8],s1[8],s2[8],s3[8],s4[8],s5[8],s6[8],s7[8],ss[256]
- str b0[2],b1[2],b2[2],b3[2],b4[2],b5[2],b6[2],b7[2],c0[2],c1[2]
- /*----------- ö─ùpò╧Éö
- int cx,flg=0,tim,file_0,size
- int aa,bb,cc,dd,ee,ff,hh,ii,i,j,k
- int kx,ky,tx,ty,xx,yy,bl,br,lb,rb
- char st,sb,tr,tb,md,mm
- /*üüüüüüüü âtâ@âCâïô╟é▌ì₧é▌
- width 96 : console 0,31,0 : mouse(4) : mouse(2)
- for i=0 to b_argc-1 : ss=ss+b_argv(i) : next
- if instr(1,ss,".x")=0 then {
- fname=right$(ss,len(ss)-instr(1,ss,".X")-1)
- } else {
- fname=right$(ss,len(ss)-instr(1,ss,".x")-1)
- }
- if fname="" or fname="/?" or fname="-?" then {
- print"Ägùpû@üFTIM âVâiâèâIâtâ@âCâïû╝"
- print : print"èmöFüFâèâ^ü[âôâLü[üñ"
- while inkey$(0)<>chr$(13) : endwhile
- color 3 : end
- }
- /*
- color 5 : print"Welcome To The Multi Scenario Novel Wear World!!"
- color 6 : print : print" 'Tim-Paper' Version 1.04 ";
- color 5 : print"_1993 / TakemiÑMatsumoto."
- color 3 : print : print" Now_loadingÑÑÑ '";fname;"'"
- error off : file_0=fopen(fname,"r") : error on : if file_0=-1 then errors(401)
- aa=fseek(file_0,0,2) : fseek(file_0,0,0) : if 262143<aa then errors(400)
- fread(ban,(aa\4)+1,file_0) : fcloseall() : size=(aa\4)+1
- /*----------- âyü[âWÉöâ`âFâbâN
- locate 0,4 : print"ò╢Å═âfü[â^é≡É«ù¥Æåé┼é╖üBé╡é╬éτé¡é¿æ╥é┐ë║é│éóüB" : m_stop()
- for i=0 to size-1
- gg(4)= ban(i) shr 24 : gg(5)=(ban(i) shr 16) and 255
- gg(6)=(ban(i) shr 8) and 255 : gg(7)= ban(i) and 255
- if gg(4)=58 then if isalnum(gg(3))<>0 then found_num(4)
- if gg(5)=58 then if isalnum(gg(4))<>0 then found_num(5)
- if gg(6)=58 then if isalnum(gg(5))<>0 then found_num(6)
- if gg(7)=58 then if isalnum(gg(6))<>0 then found_num(7)
- slide2(gg,4,gg,0,4) : if cod(999)<>0 then break
- next : print
- if cod( 0)=0 then errors(0)
- /*----------- âRâôâtâBâOâîü[âVâçâôô╟é▌ì₧é▌
- s2=chr$(13) : s3=chr$(10) : nl=0
- for i=0 to 255
- s4=chr$( ban(i) shr 24 ) : s5=chr$((ban(i) shr 16) and 255)
- s6=chr$((ban(i) shr 8) and 255) : s7=chr$( ban(i) and 255)
- if b6=chr$(13) and b7=chr$(10) then ss=s0+s1+s2+s3+s4 : found_equal(i*4+2)
- if b7=chr$(13) and s0=chr$(10) then ss=s1+s2+s3+s4+s5 : found_equal(i*4+3)
- if s0=chr$(13) and s1=chr$(10) then ss=s2+s3+s4+s5+s6 : found_equal(i*4+4)
- if s1=chr$(13) and s2=chr$(10) then ss=s3+s4+s5+s6+s7 : found_equal(i*4+5)
- b0=b4 : b1=b5 : b2=b6 : b3=b7
- b4=s0 : b5=s1 : b6=s2 : b7=s3
- s0=s4 : s1=s5 : s2=s6 : s3=s7 : if flg=1 then break
- next : print
- /*üüüüüüüüüüüüüüüü Åëè·É▌ÆΦ
- /*----------- éoébél
- for i=0 to 9 : if pc(i)=0 then continue else get_line(pc(i))
- error off : file_0=fopen(ss,"r") : error on
- if file_0=-1 then errors(800) : fcloseall() : continue
- aa=fseek(file_0,0,2) : fseek(file_0,0,0) : if 16383<aa then errors(804) : aa=16384
- fread(samp,aa,file_0) : slide2(samp,0,pcm0,i*16384,16384) : pad(i)=aa
- fcloseall() : next
- /*
- for i=0 to 9 : if vo(i)=0 then continue else get_line(vo(i))
- error off : file_0=fopen(ss,"r") : error on
- if file_0=-1 then errors(802) : fcloseall() : continue
- aa=fseek(file_0,0,2) : fseek(file_0,0,0) : if 2047<aa then errors(806) : aa= 2048
- fread(samp,aa,file_0) : slide2(samp,0,voi0,i* 2048, 2048) : vod(i)=aa
- fcloseall() : next
- /*----------- ëµû╩
- gm=3 : nc=3
- if scr<>0 then aa=get_chs(scr) : if 47<aa and aa<52 then gm=aa-48 else errors(900)
- switch gm
- case 0 : if pic=0 then width 64 : break else screen 1,1,1,1 : break
- case 1 : if pic=0 then width 64 : break else screen 1,2,1,1 : break
- case 2 : if pic=0 then width 64 : break else screen 1,3,1,1 : break
- default: if pic=0 then width 96 else screen 2,0,1,1
- endswitch
- /*
- disp_frame() : ng=0
- if pic<>0 then {
- get_line(pic) : error off : aa=apic_load(ss,0,0) : error on
- if aa<>0 then errors(901)
- }
- /*----------- âpâîâbâg
- for i=0 to 3 : if pa(i)=0 then continue else get_line(pa(i))
- if strspn(ss,"0123456789")<>len(ss) then errors(902) : continue
- if 65535<val(ss) then pa(i)=65535 else pa(i)=val(ss)
- switch i
- case 0:color[ pa(0)] : break
- case 1:color[ ,pa(1)] : break
- case 2:color[ ,,pa(2)] : break
- case 3:color[,,,pa(3)]
- endswitch
- next
- /*----------- é╗é╠æ╝
- if kem<>0 then get_line(kem):kwa=ss else kwa=chr$(9)+chr$(9)+"üÑ"
- if pau<>0 then get_line(pau):pus=ss+chr$(5) else pus=chr$(9)+chr$(9)+"äƒäƒ äƒäƒ äƒäƒ"
- if csr<>0 then get_line(csr):cs=left$(ss,2) else cs="ü╦"
- mem(30)=3 : mem(60)=3 : mem(90)=3 : cls
- /*üüüüüüüüüüüüüüüü â^âCâgâïëµû╩
- while ng<>3 : cls : print : color 3 : key_stop()
- nc=3 : ns=0 : nk=0 : nl=0 : nr=0 : vy=0 : vn=0 : nv=0 : hz=4 : pn=3 : nh=0 : ng=3
- for i=0 to 9 : fg(i)=0 : fc(i)=0 : next
- print"éséëéìü@éoéüéÉéàéÆü@éléüéëéÄü@éléàéÄéòüIüI"
- print space$(16);"[C R] ì┼Åëé⌐éτ"
- for i=1 to 3 : bc=nc
- print space$(16);"[ ";str$(i);" ] Page=";right$(" "+str$(mem(i*30+3)),3);" ";
- color mem(i*30) : print_line(cod(mem(i*30+3)),2)
- print : nc=bc : color nc : next
- print space$(16);"[ESC] édéÿéëéö"
- cn=4 : ct=csrlin-5 : select()
- /*----------- âüâéâèü[âìü[âh
- if 0<cy and cy<4 then {
- aa=cy*30 : for i=0 to 9 : fg(i)=mem(aa+10+i) : fc(i)=mem(aa+20+i) : next
- nc=mem(aa ) : ns=mem(aa+1) : nk=mem(aa+2) : nl=mem(aa+3) : nr=mem(aa+4)
- vy=mem(aa+5) : vn=mem(aa+6) : nv=mem(aa+7) : hz=mem(aa+8) : pn=mem(aa+9)
- kx=pos : ky=csrlin : bc=nc : console 0,32,0
- ng=4 : for i=0 to 9 : if fg(i)=0 or fl(i)=0 then continue
- locate (i\5)*((gm\3)*16+29)+3,(i mod 5)+25 : color fc(i) : print_line(fl(i),2)
- next : ng=3
- nc=bc : color nc : console 3,21,0 : locate kx,ky
- }
- if cy=4 then ng=3 else ng=0
- /*üüüüüüüüüüüüüüüü âüâCâôâïü[â`âô
- cls
- while ng=0 : no=1 : bs=0 : print chr$(9);
- mem(0)=nc : mem(1)=ns : mem(2)=nk : mem(3)=nl : mem(4)=nr
- mem(5)=vy : mem(6)=vn : mem(7)=nv : mem(8)=hz : mem(9)=pn
- for i=0 to 9 : mem(10+i)=fg(i) : mem(20+i)=fc(i) : next
- /*----------- û{ò╢ò\Ī
- while 1 : s0=chr$(get_chr()) : if bs<>0 then bs=bs-1
- if s0=":" and bs=0 then break
- if s0="@" and bs=0 then extra(0) : if ng=2 then break else continue
- for i=0 to ns : tr=(strig(1) or strig(2)) : msstat(xx,yy,bl,br) : np=(onkey(3) and &H20)
- v_wait(0) : poke(&HE80016,int(rnd()*(vy*2+1))-vy)
- if nk=1 and (tr<>0 or bl<>0 or br<>0 or np=32) then break
- next : print s0;
- voice()
- endwhile
- if ng=2 then continue
- s1= chr$(get_chr()) : if s1=chr$(13) then ng=1 : continue
- s1=s1+chr$(get_chr())
- nf=(instr(1,"SL__GOTH________F0F1F2F3F4F5F6F7F8F9",strupr(s1))-1)
- if nf=-1 then errors(102) else nf=nf\2
- if nf= 1 or (3<nf and nf<8) or 17<nf then errors(102)
- if 7<nf then print : gt(0)=nl : key_wait() : print : print chr$(9); : if ng=2 then continue
- /*----------- æIæ≡Ä}ò\Ī
- if nf<2 or 7<nf then {
- for i=0 to 7 : bs=0
- nsb=ns : nvb=nv : hzb=hz : pnb=pn : ncb=nc : vnb=vn : vyb=vy : nkb=nk
- while 1 : if bs<>0 then bs=bs-1
- s0=chr$(get_chr()) : if s0="." and bs=0 then flg=0 : break
- if s0=":" and bs=0 then flg=1 : break
- if bs<>0 or asc(s0)<&H21 then continue
- if ((&H7F<asc(s0) and asc(s0)<&HA0) or &HDF<asc(s0)) then bs=2
- endwhile : if flg=1 then break
- if nf<2 then print chr$(9)+"[ "+str$(i+1)+" ] ";
- while 1 : s0=chr$(get_chr()) : if bs<>0 then bs=bs-1
- if (s0=chr$( 9) or s0=" ") and bs=0 then break
- if s0=chr$(13) and bs=0 then errors(101)
- if 7<nf then if fg(nf-8)<>i then continue
- if s0="@" and bs=0 then extra(1) : continue
- for j=0 to ns : tr=(strig(1) or strig(2)) : msstat(xx,yy,bl,br) : np=(onkey(3) and &H20)
- v_wait(0) : poke(&HE80016,int(rnd()*(vy*2+1))-vy)
- if nk=1 and (tr<>0 or bl<>0 or br<>0 or np=32) then break
- next : print s0; : voice()
- endwhile
- spc_cut() : gt(i)=get_num()
- if gt(i) =-1 then errors(101)
- if cod(gt(i))= 0 then errors(104)
- if nf< 2 then print : print chr$(9);
- next : cn=i-1 : ct=csrlin-i
- if i=0 then errors(105)
- if i<2 and 7<nf then errors(100)
- if sel<>0 and nf<2 then print_line(sel,3)
- }
- /*----------- ìsæ«É½ò╩Åêù¥
- if nf<2 then select() : if cy=255 then ng=2 : continue else nl=gt(cy) : continue
- if nf=2 then print : ng=1 : if ovr<>0 then print_line(ovr,3) : continue else continue
- if nf=3 then print : key_wait() : print : continue
- if 7<nf then print : print : gt(0)=gt(fg(nf-8)) : key_wait() : print
- endwhile
- /*----------- âèâvâîâCüH
- poke(&HE80016,0) : for i=0 to 5000 : v_wait(0) : next
- color 3 : nc=3 : tx=ng : disp_frame() : ng=tx
- endwhile
- width 96 : while inkey$(0)<>"" : endwhile
- color 3 : end
- /*üüüüüüüüüüüüüüüü æIæ≡
- func select()
- cy=0 : locate 12,ct+cy : print cs; : sys_pcm(2)
- tb=(strig(1) or strig(2)) : msstat(xx,yy,lb,rb)
- msarea(0,0,1,1) : mouse(1) : msarea(64,ct*16,255,ct*16+cn*16+15)
- while 1
- st=(stick(1) or stick(2))
- tr=(strig(1) or strig(2)) : msstat(xx,yy,bl,br) : mspos(xx,yy)
- dd=((onkey(0) and &HFC)\4)+(onkey(1) and 3)*64
- if dd<>0 then {
- for i=0 to 7 : if ((dd shr i) and 1)=1 then break
- next
- if (cn<i and ng<>3) or (2<i and ng=3) then continue
- locate 12,ct+cy : print" ";
- if ng=3 then cy=i+1 else cy=i
- locate 12,ct+cy : print cs; : break
- }
- if ng=0 then {
- if (onkey(9) and 8)= 8 or (onkey(5) and 4)= 4 then mem_save(1) : continue
- if (onkey(9) and 16)=16 or (onkey(5) and 8)= 8 then mem_save(2) : continue
- if (onkey(9) and 32)=32 or (onkey(5) and 16)=16 then mem_save(3) : continue
- }
- if (onkey(0) and 2)= 2 then {
- if ng=3 then {
- locate 12,ct+cy : print" "; : cy=4 : locate 12,ct+cy : print cs; : break
- } else cy=255 : break
- }
- if ng=3 and (onkey(3) and 32)=32 then {
- locate 12,ct+cy : print" "; : cy=0 : locate 12,ct+cy : print cs; : break
- }
- if (tr<>0 and tr<>tb) or (bl<> 0 and bl<>lb) or (br<> 0 and br<>rb) then break
- if (st= 8 and st<>sb) and cy<> 0 then locate 12,ct+cy:print" "; : cy=cy-1 : sys_pcm(0)
- if (st= 2 and st<>sb) and cy<>cn then locate 12,ct+cy:print" "; : cy=cy+1 : sys_pcm(0)
- if ky<>yy then locate 12,ct+cy:print" "; : cy=(yy-(ct*16))\16
- v_wait(0) : poke(&HE80016,int(rnd()*(vy*2+1))-vy)
- sb=st : tb=tr : ky=yy : lb=bl : rb=br : locate 12,ct+cy : print cs;
- endwhile
- /*
- for i=0 to cn : if i=cy then continue
- locate 0,ct+i:print chr$(5);
- next
- mouse(2) : sys_pcm(1) : key_stop()
- while a_stat()=2
- v_wait(0) : poke(&HE80016,int(rnd()*(vy*2+1))-vy)
- endwhile
- locate 0,ct+cn+1 : print : if sel<>0 then print
- endfunc
- /*üüüüüüüüüüüüüüüü âüâéâèü[âZü[âu
- func mem_save(dd;int)
- kx=csrlin : ky=pos : bc=nc : console 31,1,0 : color 3 : poke(&HE80016,0) : sys_pcm(2)
- locate 0,31 : print"Save [ ";str$(dd);" ] Page=";str$(mem(dd*30+3));
- locate 20,31 : color mem(dd*30) : print_line(cod(mem(dd*30+3)),2)
- locate 50,31 : color 3 : print"(éxü^ém)üH";
- while 1
- if (onkey(2) and 64)= 64 then cls:print"Save O.K.";:slide2(mem,0,mem,dd*120,120) : break
- if (onkey(5) and 128)=128 then cls:print"Cancel!"; : break
- endwhile : sys_pcm(1) : for i=0 to 2000 : v_wait(0) : next
- cls : console 3,21,0 : locate kx,ky : nc=bc : color nc
- endfunc
- /*üüüüüüüüüüüüüüüüü@âLü[âXâgâbâv
- func key_stop()
- while 1
- tr=(strig(1) or strig(2)) : msstat(xx,yy,bl,br) : np=(onkey(0) and 2) or (onkey(3) and &h20)
- if tr=0 and bl=0 and br=0 and np=0 then break
- endwhile
- endfunc
- /*üüüüüüüüüüüüüüüü âLü[ôⁿù═æ╥é┐
- func key_wait()
- tb=(strig(1) or strig(2)) : msstat(xx,yy,lb,rb) : kb=(onkey(3) and &H20)
- ct=csrlin : sys_pcm(2)
- while 1 : tim=(tim+1) and 31
- if tim= 1 then locate 0,ct : print kwa;
- if tim=17 then locate 0,ct : print chr$(5);
- tr=(strig(1) or strig(2)) : msstat(xx,yy,bl,br) : np=(onkey(3) and &H20)
- if (tr<>tb and tr<>0) or (bl=-1 and bl<>lb) or (br=-1 and br<>rb) then break
- if np<>kb and np=&H20 then break
- if (onkey(0) and 2)= 2 then ng=2 : nf=8 : break
- v_wait(0) : poke(&HE80016,int(rnd()*(vy*2+1))-vy)
- tb=tr : lb=bl : rb=br : kb=np
- endwhile
- /*
- locate 0,ct : print pus : sys_pcm(1) : key_stop()
- while a_stat()=2
- v_wait(0) : poke(&HE80016,int(rnd()*(vy*2+1))-vy)
- endwhile
- if nf<8 then {
- spc_cut() : gt(0)=get_num()
- if gt(0) =-1 then errors(101)
- if cod(gt(0))= 0 then errors(104)
- }
- nl=gt(0)
- endfunc
- /*üüüüüüüüüüüüüüüü âXâyü[âXüAésé`éaüAébéqâRü[âhï≤æùéΦ
- func spc_cut()
- while 1 : cc=get_chr() : if cc<>9 and cc<>10 and cc<>13 and cc<>32 then break
- endwhile : no=no-1
- endfunc
- /*üüüüüüüüüüüüüüüü ÉöÄÜĵô╛
- func get_num()
- gg(0)=0 : gg(1)=0 : gg(2)=0 : bb=0
- s0=chr$(get_chs(cod(nl)+no )) : s1=chr$(get_chs(cod(nl)+no+1))
- s2=chr$(get_chs(cod(nl)+no+2)) : s3=s0+s1+s2
- if strupr(s3)="OPN" then gg(0)=0 : gg(1)=0 : gg(2)=0 : bb=3 : return( 0)
- if strupr(s3)="END" then gg(0)=9 : gg(1)=9 : gg(2)=9 : bb=3 : return(999)
- while 1
- cc=get_chr() : if isdigit(cc)<>0 then gg(0)=cc-48 : bb=bb+1 else break
- cc=get_chr() : if isdigit(cc)<>0 then gg(1)=cc-48 : bb=bb+1 else break
- cc=get_chr() : if isdigit(cc)<>0 then gg(2)=cc-48 : bb=bb+1 else break
- endwhile : no=no-1
- while isdigit(get_chr())<>0 : endwhile : no=no-1
- if bb=0 then cc=-1
- if bb=1 then cc=gg(0)
- if bb=2 then cc=gg(0)* 10+gg(1)
- if bb=3 then cc=gg(0)*100+gg(1)*10+gg(2)
- return(cc)
- endfunc
- /*üüüüüüüüüüüüüüüü éPò╢ÄÜĵô╛
- func get_chr()
- aa=(cod(nl)+no) \ 4 : cx=(cod(nl)+no) and 3 : no=no+1
- if size-1<aa then errors(103)
- return((ban(aa) shr ((3-cx)*8)) and 255)
- endfunc
- /*üüüüüüüüüüüüüüüü ÄwÆΦê╩ÆuéPò╢ÄÜĵô╛
- func get_chs(bb;int)
- aa= bb \ 4#: cx=( bb) and 3
- return((ban(aa) shr ((3-cx)*8)) and 255)
- endfunc
- /*üüüüüüüüüüüüüüüü éPìsò\Ī
- func print_line(aa;int,md;int)
- bs=0 : nsb=ns : nvb=nv : hzb=hz : pnb=pn : ncb=nc : vnb=vn : vyb=vy : nkb=nk
- while 1 : s0=chr$(get_chs(aa)) : aa=aa+1 : if bs<>0 then bs=bs-1
- if s0=chr$(13) or (md=2 and bs=0 and ng<>4 and 47<pos) then break
- if s0="@" and bs=0 then ii=no : no=aa : extra(md) : aa=aa+bb+1 : continue
- if md=2 then {
- print s0;
- if bs<>0 or asc(s0)<&H21 then continue
- if ((&H7F<asc(s0) and asc(s0)<&HA0) or &HDF<asc(s0)) then bs=2
- continue
- }
- for i=0 to ns : tr=(strig(1) or strig(2)) : msstat(xx,yy,bl,br) : np=(onkey(3) and &H20)
- v_wait(0) : poke(&HE80016,int(rnd()*(vy*2+1))-vy)
- if nk=1 and (tr<>0 or bl<>0 or br<>0 or np=32) then break
- next : print s0; : voice()
- endwhile
- endfunc
- /*üüüüüüüüüüüüüüüü éPìsô╟é▌ì₧é▌
- func get_line(aa;int)
- ss=""
- while 1 : s0=chr$(get_chs(aa)) : if s0=chr$(13) then break
- aa=aa+1 : ss=ss+s0 : endwhile
- endfunc
- /*üüüüüüüüüüüüüüüü âyü[âWÉöâ|âCâôâgò█æ╢
- func found_num(aa;int)
- s0=chr$(gg(aa-4)) : s1=chr$(gg(aa-3)) : s2=chr$(gg(aa-2)) : s3=chr$(gg(aa-1))
- s0=s0+s1+s2+s3 : s4=chr$(10)+"OPN" : s5=chr$(10)+"END"
- if strupr(s0)=s4 then cod( 0)=i*4+aa-3 : return()
- if strupr(s0)=s5 then cod(999)=i*4+aa-3 : return()
- if isdigit(gg(aa-1))<>0 then bb= val(chr$(gg(aa-1))) : cc=2 else return()
- if isdigit(gg(aa-2))<>0 then bb=bb+val(chr$(gg(aa-2)))* 10 : cc=3
- if isdigit(gg(aa-3))<>0 then bb=bb+val(chr$(gg(aa-3)))*100 : cc=4
- if gg(aa-cc)<>10 then return()
- cod(bb)=i*4+aa-3 : print".";
- endfunc
- /*üüüüüüüüüüüüüüüü Å≤æ╘É▌ÆΦâRâ}âôâhÅêù¥
- func found_equal(aa;int)
- ss=strupr(ss) : bb=asc(mid$(ss,3,1)) : c0=left$(ss,2) : c1=mid$(ss,4,2)
- if ss="TIT=:" then tit=aa : print"T"; : return()
- if ss="WRI=:" then wri=aa : print"W"; : return()
- if ss="SEL=:" then sel=aa : print"S"; : return()
- if ss="KEY=:" then kem=aa : print"K"; : return()
- if ss="PAU=:" then pau=aa : print"p"; : return()
- if ss="OVR=:" then ovr=aa : print"O"; : return()
- if ss="PIC=:" then pic=aa : print"P"; : return()
- if ss="CSR=:" then csr=aa : print"C"; : return()
- if ss="SCR=:" then scr=aa : print"G"; : return()
- if ss="FRA=:" then fra=aa : print"F"; : return()
- if c0="PC" and 47<bb and bb<58 and c1="=:" then print"P";chr$(bb);:pc(bb-48)=aa:return()
- if c0="VO" and 47<bb and bb<58 and c1="=:" then print"V";chr$(bb);:vo(bb-48)=aa:return()
- if c0="PA" and 47<bb and bb<52 and c1="=:" then print"A";chr$(bb);:pa(bb-48)=aa:return()
- if c0="FL" and 47<bb and bb<58 and c1="=:" then print"F";chr$(bb);:fl(bb-48)=aa:return()
- if left$(ss,4)="OPN:" or left$(ss,2)="0:" then flg=1
- endfunc
- /*üüüüüüüüüüüüüüüü ÿgì∞ɼ
- func disp_frame()
- console 0,32,0 : cls : ng=4
- if fra<>0 then aa=get_chs(fra) : if aa=49 then {
- color 7 : locate 1, 0 : print"äí";string$((gm\3)*32+58,"-");"äó";
- locate 1, 1 : print"äá";string$((gm\3)*32+58," ");"äá";
- locate 1, 2 : print"äñ";string$((gm\3)*32+58,"-");"äú";
- locate 1,24 : print"äí";string$((gm\3)*32+58,"-");"äó";
- for i=25 to 29 : locate 1, i : print"äá";string$((gm\3)*32+58," ");"äá"; : next
- locate 1,30 : print"äñ";string$((gm\3)*32+58,"-");"äú"; : color 3
- }
- if tit<>0 then locate 3,1 : print_line(tit,2)
- if wri<>0 then locate (gm\3)*16+32,1 : print_line(wri,2)
- console 3,21,0 : color 3 : ng=3
- endfunc
- /*üüüüüüüüüüüüüüüü Å≤ï╡É▌ÆΦâRâ}âôâh
- func extra(ff;int)
- if 1<ff then hh=nl : nl=1000
- s0=chr$(get_chr()) : s0=strupr(s0) : dd=asc(s0) : ee=get_num()
- if 1<ff then nl=hh : no=ii
- if bb=0 then errors(200)
- if dd<>67 and dd<>66 and ff=2 then return()
- switch dd
- /*----------- - - ò╢ÄÜò\Īæ¼ôxò╧ìX
- case 83 : ns=ee : break
- /*----------- - - êΩÄ₧ÆΓÄ~
- case 87
- if ff<>0 then errors(202)
- if ee= 0 then while a_stat()=2 : endwhile : break
- if ee=900 then nf=8 : gt(0)=nl : print : key_wait() : break
- if ee<900 then {
- for i=0 to ee*16
- v_wait(0) : poke(&HE80016,int(rnd()*(vy*2+1))-vy)
- tr=(strig(1) or strig(2)) : msstat(xx,yy,bl,br) : np=(onkey(3) and &H20)
- if nk=1 and (tr<>0 or bl<>0 or br<>0 or np=32) then break
- next
- }
- break
- /*----------- - - î°ë╩ë╣éoébélì─É╢
- case 80 : nh=1
- case 86
- if bb<2 or 4<gg(1) then gg(1)=4
- if bb<3 or 3<gg(2) then gg(2)=3
- if dd=86 then nv=gg(0) : hz=gg(1) : pn=gg(2) : break
- if pad(gg(0))=0 then break
- a_end() : slide2(pcm0,gg(0)*16384,samp,0,16384) : a_play(samp,gg(1),gg(2),pad(gg(0)))
- break
- /*----------- - - âXâÇü[âXâXâNâìü[âï
- case 82
- if ff<>0 then errors(202)
- file_0=fopen("CON","w")
- if gg(0)=0 then fwrites(chr$(&H1B)+"[?4l",file_0) else fwrites(chr$(&H1B)+"[?4h",file_0)
- fcloseall()
- break
- /*----------- - - ô╟é▌ö≥é╬é╡É▌ÆΦ
- case 75 : if gg(0)=0 then nk=0 : break else nk=1 : break
- /*----------- - - ÉFò╧ìX
- case 67 : if ee<16 then color ee:nc=ee : break else color 3:nc=3 : break
- /*----------- - - âtâëâOâZâbâg
- case 70
- if ff<>0 then errors(202)
- if gg(1)=0 then fg(gg(0))=0 else fg(gg(0))=1
- if fl(gg(0))=0 then break
- kx=pos : ky=csrlin : console 0,32,0 : locate (gg(0)\5)*((gm\3)*16+29)+3,(gg(0) mod 5)+25
- if gg(1)=1 then fc(gg(0))=nc : print_line(fl(gg(0)),3) else print space$((gm\3)*16+28)
- console 3,21,0 : locate kx,ky : break
- /*----------- - - ëµû╩ÉUô«
- case 89
- vy=gg(1) : if gg(0)=0 then vn=0:vy=0:poke(&HE80016,0) else vn=1
- break
- /*----------- - - ëµû╩âzü[âÇâNâèâA
- case 72
- if ff<>0 then errors(202)
- if gg(0)=0 then cls : break else break
- /*----------- - - Å≤æ╘û▀é╡
- case 66
- if ff=0 then errors(203)
- if gg(0)=0 then ns=nsb:nv=nvb:hz=hzb:pn=pnb:nk=nkb:nc=ncb:vn=vnb:vy=vyb : color nc
- poke(&HE80016,0) : break
- default : errors(201)
- endswitch
- endfunc
- /*üüüüüüüüüüüüüüüü â{âCâX
- func voice()
- if bs<>0 or asc(s0)<&H21 then return()
- if ((&H7F<asc(s0) and asc(s0)<&HA0) or &HDF<asc(s0)) then bs=2
- if vod(nv)=0 then return()
- if nh=1 and a_stat()=2 then return() else nh=0
- a_end() : slide2(voi0,nv*2048,samp,0,2048) : a_play(samp,hz,pn,vod(nv))
- endfunc
- /*üüüüüüüüüüüüüüüü âVâXâeâÇë╣
- func sys_pcm(mm;int)
- if vod(mm)=0 then return()
- a_end() : slide2(voi0,mm*2048,samp,0,2048) : a_play(samp,4,3,vod(mm))
- endfunc
- /*üüüüüüüüüüüüüüüü âGâëü[üAâÅü[âjâôâOÅêù¥
- func errors(dd;int)
- switch dd
- case 0 : ss="'OPN:'âyü[âWüAûöé═üA'0:'âyü[âWé¬û│éóé▌é╜éóé┼é╖éµ" : break
- case 100 : ss="âtâëâOò¬è≥âyü[âWé╚é╠é╔üAæIæ≡Äêé¬éQé┬É▌ÆΦé│éΩé─éóé▄é╣é±éµ" : break
- case 101 : ss="é╞é╤ɵâyü[âWÉöé╠ÄwÆΦé¬û│éóé▌é╜éóé┼é╖éµ" : break
- case 102 : ss="âyü[âWæ«É½é╠ÄwÆΦé¬è╘êßé┴é─éóé▄é╖éµ" : break
- case 103 : ss="âVâiâèâIâtâ@âCâïé╠ì┼îπé¬é¿é⌐é╡éóé┼é╖éµ(âRâìâôé¬û│éóé╞é⌐üc)" : break
- case 104 : ss="é╞é╤ɵé╠âyü[âWé¬æ╢ì▌é╡é▄é╣é±éµ" : break
- case 105 : ss="æIæ≡Äêé¬é╨é╞é┬éαÅæéóé─éáéΦé▄é╣é±éµ" : break
- case 200 : ss="âRâ}âôâhé╠âpâëâüü[â^ü[é¬éáéΦé▄é╣é±éµ" : break
- case 201 : ss="æ╢ì▌é╡é╚éóâRâ}âôâhé≡ÄwÆΦé╡é─éóé▄é╖éµ" : break
- case 202 : ss="é▒é╠âRâ}âôâhé═üAû{ò╢ê╚èOé┼é╠Ägùpé═Åoùêé▄é╣é±éµ" : break
- case 203 : ss="é▒é╠âRâ}âôâhé═üAû{ò╢é┼é═ÄgùpÅoùêé▄é╣é±éµ" : break
- case 400 : ss="âVâiâèâIâtâ@âCâïé╠âTâCâYé¬æσé½é╖é¼é┼é╖éµ(256KBé▄é┼)" : break
- case 401 : ss="ÄwÆΦé╠âVâiâèâIâtâ@âCâïé¬î⌐ôûé╜éΦé▄é╣é±éµ" : break
- case 800 : ss="ÄwÆΦé╠î°ë╩ë╣ùpéoébélâtâ@âCâïé¬æ╢ì▌é╡é╚éóé╠é┼üAÅ╚ù¬é╡é▄é╖éµ" : break
- case 802 : ss="ÄwÆΦé╠â{âCâXùpéoébélâtâ@âCâïé¬æ╢ì▌é╡é╚éóé╠é┼üAÅ╚ù¬é╡é▄é╖éµ" : break
- case 804 : ss="î°ë╩ë╣ùpéoébélâoâbâtâ@é¬éóé┴é╧éóé╚é╠é┼üAôrÆåé▄é┼é╡é⌐û┬éΦé▄é╣é±éµ" : break
- case 806 : ss="â{âCâXùpéoébélâoâbâtâ@é¬éóé┴é╧éóé╚é╠é┼üAôrÆåé▄é┼é╡é⌐û┬éΦé▄é╣é±éµ" : break
- case 900 : ss="ëµû╩âéü[âhé╠ÄwÆΦé¬é¿é⌐é╡éóé╠é┼üAéXéUü~éRéQìsé╔é╡é─é¿é½é▄é╖éµ" : break
- case 901 : ss="é`éoéhébâtâ@âCâïé¬ô╟é▌ì₧é▀é╚é⌐é┴é╜é╠é┼üAöwîié═ò\Īé╡é▄é╣é±éµ" : break
- case 902 : ss="âJâëü[âRü[âhé╠ÄwÆΦé¬é¿é⌐é╡éóé╠é┼üAé╗é╠é▄é▄é╔é╡é─é¿é½é▄é╖éµ"
- endswitch
- if 799<dd then {
- print : print"Warning!! #";right$(" "+str$(dd),3);" ü¿ ";ss;"üIüI"
- print : print"èmöFüFâèâ^ü[âôâLü[üñ"
- while inkey$(0)<>chr$(13) : endwhile : return()
- }
- print : print"Error!! #";right$(" "+str$(dd),3);" ü╦ ";right$(" "+str$(nl),3);" PageüF";ss;"üIüI"
- print : print"èmöFüFâèâ^ü[âôâLü[üñ"
- while inkey$(0)<>"" : endwhile
- while inkey$(0)<>chr$(13) : endwhile
- while inkey$(0)<>"" : endwhile
- color 3 : end
- endfunc